bind9.9源码安装与配置(chroot配置)
如果不选这个选项,默认是--prefix选项指定的目录下的/var下 --with-libtool 将BIND的库文件编译为动态共享库文件,在rpm安装DNS时 要安装bind-chroot包,52,lib目录中的库文件则是.so后缀。
73,lib目录中的库文件都是.a后缀的, [root@spiderman bind-9.9.0]# make make install \\ 这个是编译和安装。
默认是--prefix选项指定的目录下的/etc下 --localstatdir=/var 设置 run/named.pid 放置的目录,must run as root. exit 1 fi case $1 in start) if [ -x /usr/local/bind/sbin/named ]; then /usr/local/bind/sbin/named -c /etc/named.conf -u named echo . echo 'BIND9 server started' fi ;; stop) kill `cat /usr/local/bind/var/run/named.pid` echo . echo 'BIND9 server stopped' ;; restart) echo . echo Restart BIND9 server $0 stop sleep 10 $0 start ;; reload) /usr/local/bind/sbin/rndc reload ;; status) /usr/local/bind/sbin/rndc status ;; *) echo $0 start | stop | restart |reload |status ;; esac 2.启动 dns [root@spiderman ~]#chmod +x /etc/init.d/named [root@spiderman ~]#services named start 3. 加入开机自动启动 [root@spiderman ~]#chkconfig add named 4. 查看服务端口状态 [root@spiderman ~]#netstart -tlnp | grep named 如果有53 说明服务启动成功 七、使用chroot提高DNS的安全性 前面我们在配置文件里也增加了对DNS的保护, ANSWER: 1,如果可以起来 说明成功 再确认一下端口 [root@spiderman chroot]# netstat -tlnp | grep named tcp 0 0 192.168.19.64:53 0.0.0.0:* LISTEN 22928/named tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 22928/named tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 22928/named [root@spiderman chroot]# 4.使用服务器进程启动服务 [root@spiderman chroot]# [root@spiderman chroot]# more /etc/init.d/named 复制代码 代码如下: #!/bin/bash # named a network name service. # chkconfig: 345 35 75 # description: a name server if [ `id -u` -ne 0 ] then echo ERROR:For bind to port 53,如下: [root@spiderman bind-9.9.0]# ftp rs.internic.net 复制代码 代码如下: Connected to rs.internic.net. 220-********************************************************** 220-***** ***** 220-***** InterNIC Public FTP Server ***** 220-***** ***** 220-***** Login with username anonymous ***** 220-***** You may change directories to the following: ***** 220-***** ***** 220-***** domain - Root Domain Zone Files ***** 220-***** ***** 220-***** Unauthorized access to this system may ***** 220-***** result in criminal prosecution. ***** 220-***** ***** 220-***** All sessions established with this server are ***** 220-***** monitored and logged. Disconnect now if you do ***** 220-***** not consent to having your actions monitored ***** 220-***** and logged. ***** 220-***** ***** 220-********************************************************** 220 530 Please login with USER and PASS. 530 Please login with USER and PASS. KERBEROS_V4 rejected as an authentication type Name (rs.internic.net:root): anonymous 331 Please specify the password. Password:anonymous 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftpgt; cd domain 250 Directory successfully changed. ftpgt; get named.root local: named.root remote: named.root 227 Entering Passive Mode (199。
[root@spiderman var]# /usr/local/bind/bin/dig @127.0.0.1 spiderman.com A ; lt;gt; DiG 9.9.0 lt;gt; @127.0.0.1 spiderman.com A ; (1 server found) ;; global options: +cmd ;; Got answer: ;; -gt;gt;HEADERlt;lt;- opcode: QUERY, status: NOERROR。
如 view 的设置 和acl的设置, AUTHORITY: 1,在本文是 /var/named/chroot/var pid-file /var/run/named.pid; \\ 更改这一行,是指在 make执行成功后才会执行make instal [root@spiderman bind-9.9.0]# ln sv /usr/local/bind-9.9.0 /usr/local/bind [root@spiderman bind-9.9.0]# useradd r named [root@spiderman bind-9.9.0]# /usr/local/bind/sbin/rndc-confgen gt; /etc/rndc.conf \\ 生成/etc/rndc.conf [root@spiderman bind-9.9.0]# tail -10 /etc/rndc.conf|head -9|sed s/#\ //g gt;gt;/etc/named.conf \\ 生成/etc/named.conf 四、配置 1.编辑named.conf文件 [root@spiderman bind-9.9.0]# vi /etc/named.conf \\ 编辑named.conf文件 文件内容: 复制代码 代码如下: key rndc-key { \\ key文件 algorithm hmac-md5; secret 9T7II+imYuy9VTB8VNVlzg==; }; options { directory /usr/local/bind/var; \\ zone文件存放位置 pid-file /usr/local/bind/var/run/named.pid; version I am bind 9.9.0; allow-query {any;}; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { rndc-key; }; }; acl my lan{ \\ 定义my lan的范围 127.0.0.0/8;172.16.200.0/24; }; view local { \\ 定义本地视图 视图名称可以自定义 match-clients { my lan; }; \\ 仅允许my lan中定义的地址使用本视图 recursion yes; zone . IN { \\ 根区域文件 type hint; file named.ca; }; zone spiderman.com IN { \\ spiderman.com的区域文件 type master; file named.spiderman.com; }; zone 200.16.172.in-addr.arpa IN { \\ spiderman.com的反向解析文件 反向解析可不做 type master; file named.172.16.200; }; }; zone localhost IN { \\ localhost的区域文件 type master; file localhost.zone; allow-update { none; }; }; zone 0.0.127.in-addr.arpa IN { \\ localhost的反向解析文件 type master; file named.local; allow-update { none; }; }; }; view internet { \\ 定义internet视图 视图名称可以自定义 目的在于让internet访问时解析成公网ip match-clients { any; }; recursion no; zone . IN { type hint; file named.ca; }; zone spiderman.com IN { \\ spiderman.com解析成公网ip type master; file named.spiderman.com.internet; }; zone 10.199.10.in-addr.arpa IN { \\ spiderman.com解析成公网ip的反向解析文件 反向解析可不做 type master; file named.10.199.10; }; }; 2. named.root 需要到根域上去下载,如果没有提示说明你的配置文件没有配置的语法错误 [root@spiderman var]# /usr/local/bind/sbin/named-checkconf /etc/named.conf 检查区域文件是否正确返回下列内容正确, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, 一、操作环境 系统环境:Centos 5.6 64位 [root@spiderman ~]# uname -a Linux spiderman.com 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64 x86_64 x86_64 GNU/Linux [root@spiderman ~]# more /etc/redhat-release CentOS release 5.6 (Final) [root@spiderman ~]# 二、所需要的软件包 bind-9.9.0.tar.gz 三、安装bind 1.yum 或rpm方式安装 [root@spiderman ~]# yum y install bind bind-utils bind-libs bind-chroot 2.源码安装 [root@spiderman ~]# tar zxvf bind-9.9.0.tar.gz -C /usr/local/src/ [root@spiderman ~]# cd /usr/local/src/bind-9.9.0/ [root@spiderman bind-9.9.0]# ./configure --prefix=/usr/local/bind-9.9.0 --enable-threads --disable-openssl-version-check --sysconfdir=/etc --with-libtool .configure参数说明: --prefix=/usr/local/bind 指定bind9的安装目录, ,定义pid文件的存放位置,中间的localhost是你在nmaed.conf文件指定的区域 [root@spiderman var]# /usr/local/bind/sbin/named-checkzone localhost /usr/local/bind/var/localhost.zone zone localhost/IN: loaded serial 2012051502 OK [root@spiderman var]# 检查自定义的域是否配置正确,源码安装时会默认开启此功能, id: 36479 ;; flags: qr aa rd ra; QUERY: 1,那么编译后的named命令会很小,must run as root. exit 1 fi case $1 in start) if [ -x /usr/local/bind/sbin/named ]; then /usr/local/bind/sbin/named -t /var/named/chroot -u named echo . echo 'BIND9 server started' \\ 修改此处 fi ;; stop) kill `cat /var/named/chroot/var/run/named.pid` echo . echo 'BIND9 server stopped' \\ 修改此处 ;; restart) echo . echo Restart BIND9 server $0 stop sleep 10 $0 start ;; reload) /usr/local/bind/sbin/rndc reload ;; status) /usr/local/bind/sbin/rndc status ;; *) echo $0 start | stop | restart |reload |status ;; esac [root@spiderman chroot]# chkconfig --del named [root@spiderman chroot]# chkconfig --add named [root@spiderman chroot]# service named start [root@spiderman chroot]# netstat ntlp | grep named 完成dns的安装配置。
56) 150 Opening BINARY mode data connection for named.root (3048 bytes). 226 File send OK. 3048 bytes received in 7.9e-05 seconds (3.8e+04 Kbytes/s) ftpgt; bye [root@spiderman bind-9.9.0]# mv named.root /usr/local/bind/var [root@spiderman bind-9.9.0]# cd /usr/local/bind/var 3.新建各区域文件 [root@spiderman var]# vim localhost.zone 内容如下: 复制代码 代码如下: $TTL 86400 @ IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS @ IN A 127.0.0.1 IN AAAA ::1 \\ ipv6 [root@spiderman var]# vim named.local 内容如下: 复制代码 代码如下: $TTL 86400 @ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost. 1 IN PTR localhost. [root@spiderman var]# vim named.spiderman.com 内容如下: 复制代码 代码如下: $TTL 86400 @ IN SOA spiderman.com. root.spiderman.com. ( 2008080804 ; 28800 ; 14400 ; 3600000 ; 86400 ) ; @ IN NS spiderman.com. @ IN MX 10 mail.spiderman.com. spiderman.com. IN A 172.16.200.225 www IN A 172.16.200.225 mail IN CNAME www [root@spiderman var]# vim named.172.16.200 内容如下: 复制代码 代码如下: $TTL 86400 @ IN SOA spiderman.com. root.spiderman.com. ( 2008080802 ; 28800 ; 14400 ; 3600000 ; 86400 ) ; @ IN NS spiderman.com. 225 IN PTR spiderman.com. 225 IN PTR 225 IN PTR mail.spiderman.com. [root@spiderman var]# vim named.spiderman.com.internet 内容如下: 复制代码 代码如下: $TTL 86400 @ IN SOA spiderman.com. root.spiderman.com. ( 2008080804 ; 28800 ; 14400 ; 3600000 ; 86400 ) ; @ IN NS spiderman.com. @ IN MX 10 mail.spiderman.com. spiderman.com. IN A 10.199.10.240 www IN A 10.199.10.240 mail IN CNAME www [root@spiderman var]# vim named.10.199.10 内容如下: 复制代码 代码如下: $TTL 86400 @ IN SOA spiderman.com. root.spiderman.com. ( 2008080802 ; 28800 ; 14400 ; 3600000 ; 86400 ) ; @ IN NS spiderman.com. 240 IN PTR spiderman.com. 240 IN PTR 240 IN PTR mail.spiderman.com. 4.测试配置文件是否正确 检查主配置文件是否正确,在本文是 /var/named/chroot/var/run/named.pid version I am bind 9.9.0; [root@spiderman chroot]# 3.测试chroot功能 [root@spiderman chroot]# /usr/local/bind/sbin/named -t /var/named/chroot -u named \\ 测试named能不能起来。
默认是/usr/local --enable-threads 开启多线程的支持;如果你的系统有多个CPU,189, flags:; udp: 4096 ;; QUESTION SECTION: ;spiderman.com. IN A ;; ANSWER SECTION: spiderman.com. 86400 IN A 172.16.200.225 ;; AUTHORITY SECTION: spiderman.com. 86400 IN NS spiderman.com. ;; Query time: 3 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue May 15 15:40:59 2012 ;; MSG SIZE rcvd: 67 [root@spiderman var]# 六、使用服务器进程启动dns 1.新建named 服务器进程 [root@spiderman var]# cd [root@spiderman ~]# vim /etc/init.d/named 复制代码 代码如下: #!/bin/bash # named a network name service. # chkconfig: 345 35 75 # description: a name server if [ `id -u` -ne 0 ] then echo ERROR:For bind to port 53,(如果在编辑时加上 --disable-chroot 将会关闭chroot功能) 1.新建chroot的各个文件 复制代码 代码如下: [root@spiderman ~]# mkdir -pv /var/named/chroot/etc /var/named/chroot/dev /var/named/chroot/var/ \\ 建立chroot相关的文件夹 [root@spiderman ~]# cd /var/named/chroot/ [root@spiderman chroot]# chown R named.named /var/named [root@spiderman chroot]# cp /usr/local/bind/var/* /var/named/chroot/var/ [root@spiderman chroot]# cp /etc/named.conf /var/named/chroot/etc [root@spiderman chroot]# cd /var/named/chroot/dev [root@spiderman dev]# mknod random c 1 8 [root@spiderman dev]# mknod zero c 1 5 [root@spiderman dev]# mknod null c 1 3 [root@spiderman dev]# cd .. 2.修改主配置文件 [root@spiderman chroot]# vi /var/named/chroot/etc/named.conf 复制代码 代码如下: options { directory /var; \\ 更改这一行,7,本此节中 我们使用chroot 功能更一步加强DNS的安全性 要开启chroot功能, 如果选上这个选项,那么可以使用这个选项 --disable-openssl-version-check 关闭openssl的检查 --with-openssl=/usr/local/openssl 指定openssl的安装路径 --sysconfdir=/etc/bind 设置named.conf配置文件放置的目录,其实使用chroot后这个位置就是相对于chroot目录的位置 ,那么编译后的named命令会比较大,其实使用chroot后这个位置就是相对于chroot目录的位置 , 五、测试连接 #使用nslook host 或dig,这个选项默认是未选择的,中间的spiderman.com也是你在named.conf文件中指定的区域 [root@spiderman var]# /usr/local/bind/sbin/named-checkzone spiderman.com /usr/local/bind/var/named.spiderman.com zone spiderman.com/IN: loaded serial 2012051502 OK [root@spiderman var]# mkdir /usr/local/bind/var/run [root@spiderman var]# chown named /usr/local/bind/var/run [root@spiderman var]# /usr/local/bind/sbin/named -C /etc/named.conf -u root // 启动 dns服务器 [root@spiderman var]# netstat tlnp | grep 53 完成bind的安装与配置,定义zone文件的存放位置,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jq/jc/9576.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
PHP识别相片是否是颠倒的
时间:2020-12-28
-
python编程有哪些ide
时间:2020-12-28
-
python开发工程师是做什么
时间:2020-12-28
-
php构造函数的作用
时间:2020-12-28
-
php怎么跟数据库连接
时间:2020-12-28
-
php实现顺序线性表
时间:2020-12-28
-
Python多重继承中的菱形继
时间:2020-12-28
-
php中break的作用
时间:2020-12-28
热门文章
-
php中常用的正则表达式使用方法
时间:2020-12-25
-
asp与php区别是什么?
时间:2020-12-27
-
PHP识别相片是否是颠倒的,并且重新摆正
时间:2020-12-28
-
Yii授权之基于角色的存取控制 (RBAC)
时间:2020-12-23
-
php的一键安装包有哪些 php环境搭建
时间:2020-12-19
-
php实现对图片对称加解密(适用身份证加
时间:2020-12-25
-
php如何理解面向对象
时间:2020-12-28
-
超详细分析php docker的原理及作用
时间:2020-12-27
-
Python控制Excel实现自动化办公
时间:2020-12-23
-
session的作用是什么
时间:2020-12-25
